package com.yuandian.api.management.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;


/**
 * 区域表-实体
 * @author zfsn
 * @date 2023-3-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "区域表", description = "")
@TableName("conf_area")
public class ConfArea extends BasePage<ConfArea> {

	/**
	 * 主键，区域ID
	 */
	@ApiModelProperty(value = "主键，区域ID", notes = "主键，区域ID")
	@TableId(type = IdType.AUTO)
	private Integer id;

	/**
	 * 父级ID
	 */
	@ApiModelProperty(value = "父级ID", notes = "父级ID")
	private Integer parentId;

	/**
	 * 所有父级ID
	 */
	@ApiModelProperty(value = "所有父级ID", notes = "所有父级ID")
	private String parentIds;

	/**
	 * 区域行政编码
	 */
	@ApiModelProperty(value = "区域行政编码", notes = "区域行政编码")
	private String code;

	/**
	 * 区域名称
	 */
	@ApiModelProperty(value = "区域名称", notes = "区域名称")
	private String name;

	/**
	 * 省份拼音，用于映射地图, 例如: china/guangdong
	 */
	@ApiModelProperty(value = "省份拼音", notes = "省份拼音，用于映射地图, 例如: china/guangdong")
	private String mapName;

	/**
	 * 区域类型，1：国家、2：省份/直辖市、3：地市、4：区县、5：省本级市
	 */
	@ApiModelProperty(value = "区域类型", notes = "区域类型，1：国家、2：省份/直辖市、3：地市、4：区县、5：省本级市")
	private Integer type;

	/**
	 * 起始ip(客户端ip回填区域)
	 */
	@ApiModelProperty(value = "起始ip", notes = "起始ip(客户端ip回填区域)")
	private String startIp;

	/**
	 * 结束IP(客户端ip回填区域)
	 */
	@ApiModelProperty(value = "结束IP", notes = "结束IP(客户端ip回填区域)")
	private String endIp;

	/**
	 * 显示顺序
	 */
	@ApiModelProperty(value = "显示顺序", notes = "显示顺序")
	private Integer sequence;

	/**
	 * 创建人
	 */
	@ApiModelProperty(value = "创建人", notes = "创建人")
	private String createBy;

	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间", notes = "创建时间")
	private LocalDateTime createTime;

	/**
	 * 更新人
	 */
	@ApiModelProperty(value = "更新人", notes = "更新人")
	private String updateBy;

	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "更新时间", notes = "更新时间")
	private LocalDateTime updateTime;

	/**
	 * 是否逻辑删除，0：否、1：是
	 */
	@ApiModelProperty(value = "是否逻辑删除", notes = "是否逻辑删除，0：否、1：是")
	private Integer isDel;

	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注", notes = "备注")
	private String remarks;


	/**
	 * 区域名称
	 */
	@TableField(exist = false)
	@ApiModelProperty(value = "区域名称", notes = "区域名称")
	private String fullRegionName;
}
